модуль содержит функции для решения одномерного уравнения Фоккер-Планка
конструктор для FokkerPlanck1D
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | value | :: | e | |||
real(kind=dp), | value | :: | v_lim | |||
real(kind=dp), | value | :: | v(:) | |||
real(kind=dp), | value | :: | f(:) |
solver of FP eq
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
real(kind=dp), | public | :: | enorm | = | 0 |
электрическое поле |
|
real(kind=dp), | public | :: | v_lim | = | 0 |
верхняя граница скорости электронов |
|
real(kind=dp), | public, | allocatable | :: | v(:) |
сетка скоростей |
||
real(kind=dp), | public, | allocatable | :: | f(:) |
распределение |
||
integer, | public | :: | i0 | = | 0 |
size of distribution grid |
|
real(kind=dp), | public | :: | alfa2 | = | 0 |
поле со знаком |
|
integer, | public | :: | n | = | 0 |
size of local grid |
|
real(kind=dp), | public | :: | h | = | 0 |
step of local grid |
|
real(kind=dp), | public, | allocatable | :: | d1(:) |
диффузия |
||
real(kind=dp), | public, | allocatable | :: | d2(:) |
диффузия |
||
real(kind=dp), | public, | allocatable | :: | d3(:) |
диффузия |
public function FokkerPlanck1D_constructor (e, v_lim, v, f) | конструктор для FokkerPlanck1D |
procedure, public :: print => FokkerPlanck1D_print | |
procedure, public :: solve_time_step => FokkerPlanck1D_solve_time_step | |
procedure, public :: init_zero_diffusion => FokkerPlanck1D_init_zero_diffusion | |
procedure, public :: init_diffusion => FokkerPlanck1D_init_diffusion |
конструктор для FokkerPlanck1D
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | value | :: | e | |||
real(kind=dp), | value | :: | v_lim | |||
real(kind=dp), | value | :: | v(:) | |||
real(kind=dp), | value | :: | f(:) |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FokkerPlanck1D), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FokkerPlanck1D), | intent(inout) | :: | this |
инициализация диффузии для схемы савельева
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FokkerPlanck1D), | intent(inout) | :: | this | |||
real(kind=dp), | intent(in), | dimension(:) | :: | dif |
!!!!!!!!!! solve problem !!!!!!!!!!!!!!!!!!!!!!!!!!
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(FokkerPlanck1D), | intent(inout) | :: | this | |||
real(kind=dp), | intent(in) | :: | dt | |||
integer, | intent(in) | :: | nt |
процедура закапывания
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=8), | intent(in) | :: | v(:) | |||
real(kind=8), | intent(inout) | :: | f0(:) | |||
real(kind=8), | intent(inout), | optional | :: | df0(:) |